package fr.afcepf.al22.projet1.entity;
// default package
// Generated 19 nov. 2014 11:02:30 by Hibernate Tools 3.4.0.CR1

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Commentaire generated by hbm2java
 */
@Entity
@Table(name = "commentaire", catalog = "projet1")
public class Commentaire implements java.io.Serializable {

	private Integer idCommentaire;
	private Utilisateur utilisateur;
	private Produit produit;
	private String titreCommentaire;
	private String texteCommentaire;
	private Date dateCommentaire;
	private int noteCommentaire;

	public Commentaire() {
	}

	public Commentaire(Utilisateur utilisateur, Produit produit,
			String titreCommentaire, String texteCommentaire,
			Date dateCommentaire, int noteCommentaire) {
		this.utilisateur = utilisateur;
		this.produit = produit;
		this.titreCommentaire = titreCommentaire;
		this.texteCommentaire = texteCommentaire;
		this.dateCommentaire = dateCommentaire;
		this.noteCommentaire = noteCommentaire;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_commentaire", unique = true, nullable = false)
	public Integer getIdCommentaire() {
		return this.idCommentaire;
	}

	public void setIdCommentaire(Integer idCommentaire) {
		this.idCommentaire = idCommentaire;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_utilisateur", nullable = false)
	public Utilisateur getUtilisateur() {
		return this.utilisateur;
	}

	public void setUtilisateur(Utilisateur utilisateur) {
		this.utilisateur = utilisateur;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_produit", nullable = false)
	public Produit getProduit() {
		return this.produit;
	}

	public void setProduit(Produit produit) {
		this.produit = produit;
	}

	@Column(name = "titre_commentaire", nullable = false, length = 45)
	public String getTitreCommentaire() {
		return this.titreCommentaire;
	}

	public void setTitreCommentaire(String titreCommentaire) {
		this.titreCommentaire = titreCommentaire;
	}

	@Column(name = "texte_commentaire", nullable = false, length = 65535)
	public String getTexteCommentaire() {
		return this.texteCommentaire;
	}

	public void setTexteCommentaire(String texteCommentaire) {
		this.texteCommentaire = texteCommentaire;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "date_commentaire", nullable = false, length = 19)
	public Date getDateCommentaire() {
		return this.dateCommentaire;
	}

	public void setDateCommentaire(Date dateCommentaire) {
		this.dateCommentaire = dateCommentaire;
	}

	@Column(name = "note_commentaire", nullable = false)
	public int getNoteCommentaire() {
		return this.noteCommentaire;
	}

	public void setNoteCommentaire(int noteCommentaire) {
		this.noteCommentaire = noteCommentaire;
	}

}
